With regard to printer drivers which are able to run on Windows operating systems, Microsoft corporation (MICROSOFT is a registered trademark of Microsoft Corporation in the United States and other countries, and the same shall apply hereinafter) provides guidelines for hardware manufacturers. According to the guidelines, hardware manufacturers have provided version 3 printer drivers on the assumption the printer drivers work with Windows operation systems from Windows 2000 to Windows 7.
As the succeeding operating systems, there arrived Windows 8 and Windows Server 2012. Especially, since Windows 8 employs a metro-style user interface, which is a new and tile-like user interface, hardware manufacturers are developing version 4 printer drivers which employ a new printer driver architecture for those operation systems.
Such a version 4 printer driver model can be roughly divided into two layers of a printer driver core section and a print setup UI (User Interface) section as the structure. These two layers are designed so as to separate their processes from each other, which realizes that the two layers can be provided separately.
The printer driver core section provides print features for users and is composed of construction files including a GPD (Generic Printer Description) or PPD (PostScript Printer Description) file, a XML (Extensive Markup Language) file, a localization resource DLL (Dynamic Link Library); a print filter; and various modules including a JavaScript constraint section (JAVASCRIPT is a registered trademark of Oracle America, Inc.). The GPD/PPD file defines various print features, and the localization resource DLLs defines display strings (character strings) to be displayed in plural languages for each of the print features. The print filter is configured to edit rendering commands in rendering processing. The JavaScript constraint section handles a conflict among setup items about the print features.
The print setup UI section is independent from the printer driver core section, and provides a print setup screen by using print capability information called as PrintCapabilities and print setup information called as a PrintTicket, which are provided by the printer driver core section.
PrintCapabilities is described in the XML format and includes definitions of the various print features. As a concrete example, for an alternative-type feature (which requires a choice from plural optional items), PrintCapabilities includes descriptions about a feature, available options for the feature and display strings of the feature and the options. For a feature which requires an input of a string, PrintCapabilities includes descriptions about a parameter, a property such as the maximum number of characters and the minimum number of characters, and a display string for the name of the parameter.
A PrintTicket is described in the XML format and stores print setup information. The format of a PrintTicket (represented by elements of XML) is defined by the printer driver core section. By using information defined by a GPD/PPD file, an operation system adds XML elements into a PrintTicket automatically and a function in the JavaScript constraint section adds XML elements into a PrintTicket. The contents of a PrintTicket can be converted into a data structure called to as a DEVMODE structure by using the printer driver core section.
As an example of technologies relating to such a version 4 printer driver model, Japanese Unexamined Patent Publication (JP-A) No. 2011-023019 discloses the following information processing apparatus. The information processing apparatus is connected to an external device through a communication network. The information processing apparatus includes a receiving section, a status acquiring section, a resource acquiring section and a transmitting section. The receiving section is configured to receive a request from another image processing apparatus, where the request includes designations of both of information representing a display style of a display program set in the another information processing apparatus and information representing a type of a status. The status acquiring section is configured to acquire the value of the status corresponding to the type from the external device on the basis of the information representing the type of the status included in the request. The resource acquiring section is configured to acquire resource information corresponding to the information representing the display style of the display program included in the request. The transmitting section is configured to, in response to the request received by the receiving section, transmit the resource information acquired by the resource acquiring section and the status information according to the value of the status corresponding to the type, to the another information processing apparatus.
As described above, a version 4 printer driver includes a printer driver core section and a print setup UI section which are independent to each other. Therefore, to add a new print feature to a PrintTicket, there is a need to modify both of the printer driver core section and the print setup UI section to keep their consistency, which can cause a problem that a print feature is hardly added to such a PrintTicket.
In other words, since the format of a PrintTicket is defined by the printer driver core section as described above, even if the printer UI section adds a new print feature to a PrintTicket by editing the PrintTicket, the printer driver core section cannot recognize the added print feature and can drop the added print feature when converting the contents of the PrintTicket into a DEVMODE structure.
To add a print feature to a PrintTicket, there is a need to modify the printer driver core section (such as a modification of a main body of a program written in C language or other language). However, a modification of the printer driver core section needs a log acquisition of WHCK (Windows Hardware Certification Kit) and makes a great number of man-hours. The present invention seeks to solve the above problem.